#ifndef INSTRUCTION_H
#define INSTRUCTION_H

#include <QColor>

#include "LogHelper.h"

class Instruction
{
public:
    Instruction();

    virtual ~Instruction();

    int step;
    int type = 0;
};


class InstructSyringe : public Instruction{     // 注射器 1
public:
    InstructSyringe();


    int      idx;           // 编号
    double   syringeType;          // 注射器类型
    QColor   color;         // 颜色
    int      direct;        // 方向
    double   speed;         // 速度
    double   volumn;        // 体积

    // 注射器类型和颜色放在设置里面吧……
};


class InstructWheel : public Instruction{       // 转盘 3
public:
    InstructWheel();

    int     posi;       // 位置
    bool     addHat;     // 是否盖盖

};

class InstructValve : public Instruction{       // 阀门 2
public:
    InstructValve();
    QVector<int>    stateList;  // 状态列表 14个（大概吧
    int num = 14;

};

class InstructSleep : public Instruction{       // 延时 5
public:
    InstructSleep();
    int time;
};

class InstructCycle : public Instruction{       // 循环 6
public:
    InstructCycle();

    int start;
    int end;
    int times;

};

class InstructDetector : public Instruction{       // 检测器 6
public:
    InstructDetector();
    bool state;

};

#endif // INSTRUCTION_H
